home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / parallel / fibonacc < prev    next >
Text File  |  1992-04-11  |  516b  |  26 lines

  1. poll_requests(Function):-
  2.     in(evaluate(Value)),
  3.     out(being_evaluated(Value)),
  4.     do_function(Function,Value,Result).
  5.  
  6. do_function(_,halt,_).
  7.  
  8. do_function(Function,Value,Result):-
  9.     Query =.. [Function,Value,Result],
  10.     Query,
  11.     out(evaluated(Value,Result)),
  12.     in(being_evaluated(Value)),
  13.     poll_requests(Function).
  14.  
  15. fibonacci(0,1).
  16.  
  17. fibonacci(1,1).
  18.  
  19. fibonacci(Value,Result):-
  20.     Value > 1,
  21.     V1 is Value - 1,
  22.     V2 is Value - 2,
  23.     fibonacci(V1,R1),
  24.     fibonacci(V2,R2),
  25.     Result is R1 + R2.
  26.